Automated processes are usually controlled and monitored by programmable logic controllers, the main role of which is to acquire information from the process (input signals), to run an application program (also called the user program) using this information so as to output orders and commands to the process (output signals). Systems capable of making a diagnostic, and particularly a predictive diagnostic capable of anticipating the occurrence of a failure or a defect, are now frequently required so that this type of automated process can be monitored better. These systems firstly facilitate planning and optimisation of maintenance operations, and secondly minimize risks of stoppages or incidents in the process, thus contributing to safety and efficiency of the automation.
However, a reliable predictive diagnostic is frequently difficult to achieve since it may require a difficult selection among the many parameters of the process to be monitored while using complex algorithms necessary to satisfactorily make a model of the process. This model then uses large scale computer means, with high processing power and large memory capacity, that are difficult to integrate in programmable logic controllers. Furthermore, computer languages that are usually used to implement these algorithms are very different from the languages usually used in automation application programs, like those satisfying standard IEC1131-3.